Reassessing JML’s Logical Foundation
نویسنده
چکیده
Early in the design of the Java Modeling Language (JML) care was taken in the choice of its logical foundation to ensure that JML could accommodate run-time assertion checking, static analysis and formal verification. At the time, classical two-valued logic was adopted. Since then however, we note that the main JML tools have actually implemented differing semantics, by design. In this paper, we begin by reviewing the current logical semantics of JML and explore some of the ramifications of this choice. We then present the results of a survey of programmers from industry, i.e. JML's targeted end users. We asked them how they want assertions to be interpreted during run-time checking and static verification. Survey results indicate that developers are in favor of a semantics for assertions that is compatible with their current use in runtime checking, and hence consistent with a three-valued logic in which partial functions are modeled explicitly.
منابع مشابه
Investigations into the Meaning of Logical Connectives
Talk 1. Reassessing the Quinean challenge Patrick Allo, Free University of Brussels The goal of this contribution is to take a few steps back, and put in perspective our reasons for trying to avoid meaning-variance as a means to, first, save the possibility of genuine rivalry between different logics, and, second, safeguard the very idea of logical revision. One reason for this re-examination i...
متن کاملModel Programs for Preserving Composite Invariants
We describe a solution for the SAVCBS challenge problem: a technique for specifying and verifying invariants for objects designed using the Composite design pattern. The solution presents a greybox specification technique using JML’s model program feature. We show that model program specifications function as exemplars for capturing helper method calls in a way that preserves modularity and enc...
متن کاملImpact of coping with interpersonal stress on the risk of depression in a Japanese sample: a focus on reassessing coping
Reassessing coping, a concept first proposed in Asia, refers to efforts to wait patiently for an appropriate opportunity to act or for a change or improvement in a situation, and can be observed in individuals facing stressful relationship events. The main purpose of the present study was to determine if reassessing coping would be associated with a lower risk of depression. The author examined...
متن کاملRelationship between Coping with Interpersonal Stressors and Depressive Symptoms in the United States, Australia, and China: A Focus on Reassessing Coping
OBJECTIVE Reassessing coping involves efforts to wait patiently for an appropriate opportunity to act or for a change or improvement in the situation, and can be observed in individuals encountering a stressful relationship event. It was hypothesized that reassessing coping would be negatively associated with depressive symptoms. METHODS A cross-sectional Web-based survey was conducted in ord...
متن کاملJML Support for Primitive Arbitrary Precision Numeric Types: Definition and Semantics
The Java Modeling Language, JML, is a notation for specifying and describing the detailed design and implementation of Java modules. It is a model-based specification language offering, in particular, method specification by preand post-condition, and class invariants to document required module behavior. It has recently been noted that the JML semantics of expressions over numeric types do not...
متن کامل